package edu.maplef.bookwild.utils;

import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManagerFactory;

/**
 * 应用程序使用 PersistenceManager 类的实例和 JDO 交互。可通过实例化并调用 PersistenceManagerFactory
 * 类的实例上的方法来获取此实例。工厂使用 JDO 配置来创建 PersistenceManager 实例。
 * 
 * 由于 PersistenceManagerFactory
 * 实例需要时间来初始化，因此应用程序应重复使用单个实例。为强制执行此操作，如果应用程序实例化一个以上
 * PersistenceManagerFactory（具有相同配置名称），将引发异常。管理 PersistenceManagerFactory
 * 实例的一个简单方式是创建一个具有静态实例的单独包装器类
 * 
 * @author maple
 * @version 1.0
 * 
 */
public final class PMF {
	private static final PersistenceManagerFactory pmfInstance = JDOHelper
			.getPersistenceManagerFactory("transactions-optional");

	private PMF() {
	}

	public static PersistenceManagerFactory get() {
		return pmfInstance;
	}
}